﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace GameViewer.Ogre
{
    public class OgreMesh
    {
        public string SkeletonLink;
        public string Name;
        //public Vector3 boundingBox1;
        //public Vector3 boundingBox2;
        //public int total_groups = 1;
        public bool HasSharedVertex = false;
        public List<OgreSubMesh> SubMeshes  = new List<OgreSubMesh>();
        public OgreVertexData VertexData = new OgreVertexData();        
        public ushort NumLods;
    }

    public class OgreSubMesh
    {
        public string MaterialName;
        public int Index;
        public bool UseSharedVertex = false;
        public OgreVertexData VertexData = new OgreVertexData();
        public List<int> IndicieList = new List<int>();
        public List<OgreVertexBoneAssignment> BoneAssignments = new List<OgreVertexBoneAssignment>();
    }

    public class OgreVertexData
    {
        public int VertexCount;
        public List<VertexPositionNormalTexture> VertexList = new List<VertexPositionNormalTexture>();
        public List<VertexElement> VertexElements = new List<VertexElement>();
    }

    public class OgreVertexBoneAssignment
    {
        public int VertexIndex;
        public int BoneIndex;
        public float Weight;
    }

}
